MIME-Version: 1.0
Server: CERN/3.0
Date: Sunday, 24-Nov-96 23:08:12 GMT
Content-Type: text/html
Content-Length: 4029
Last-Modified: Tuesday, 24-Oct-95 13:55:49 GMT

<TITLE>The Chains Programming Language</TITLE> <IMG
SRC="/Info/Projects/SimLab/images/ChainsLogo4.gif"> 

<P> The <IMG SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> programming language is a
computer language whose basic data structures and operations are based
on mathematical objects such as <em>vertices</em>, <em>cells</em>,
<em>cell complexes</em>, <em>chains</em>, <em>cochains</em>, and
operators such as <em>boundary</em> and <em>coboundary</em>.  <P>
Together these data types provide the ability to represent a geometric
shape or other topological structure with an algebraic formula. Once a
topological or geometric structure is expressed algebraically, it
becomes possible to operate on geometry and topology with rigorously
defined algebraic operations, which in turn makes it possible to
systematically compute topological and geometric quantities and
properties. <A HREF="example.html"> Here </A> is an example of a
complex, chain and their algebraic and graphical representations.

<P>
&lt;<A HREF="about-logo.html">About the logo</A>&gt;
&lt;<A HREF="lagrange-quote.html">Quotation</A>&gt;
&lt;<A HREF="chains.au"> Chains theme song (30 second audio)</A>&gt;

<P> 

<H2><A HREF="/Info/Projects/SimLab/whats-new.html">What's New?</A></H2>

<H2>Applications of the <IMG SRC="/Info/Projects/SimLab/images/ChainsText2.gif">
Lanugage</H2>


<MENU>

<LI> <A HREF="Combined.html"> Multiple Domain Physical Simulation:</A>
<IMG SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> has been used to create a combined
fluid/elastic solid simulator.  


<LI> <A HREF="combined.mpg"> An animation</A> of one run of the
combined simulator, showing the coupled nature of the fluid/solid
interactions: how the fluid pressure deflects the elastic solid, which
in turn provides a modified fluid volume.


<LI> Finite elements: </A><A HREF="/Info/People/rick/tech-reports/TR94-1406.ps">
Cornell CS TR94-1406 (postscript version)</A> describes the use of
<IMG SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> as a "language for FEM."  The
article presents a two page formal specification of an FEM formulation
of plane stress, using quadratic shape functions defined over
triangles. This <IMG SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> program
corresponds closely to a textbook derivation, and yet is efficiently
executable.

<LI> <A HREF="communication.html"> Communication and standardization
</A>

<LI> Parallel and distributed computation (see <A
HREF="/Info/People/rick/chains/ra/bibliography3.4.html#Herlihy93">[HS93]</A>)  

<LI> Scientific computing and visualization.

</MENU>

<P>

The <IMG SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> language formalizes the
relationship between geometry (form) and physical behavior (function),
which is fundamental to most engineering activities.  <IMG
SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> has applications in computer aided
design (CAD), scientific computing, and distributed and parallel
computation.

<H3>An algebraic-topological programming language</H3> <IMG
SRC="/Info/Projects/SimLab/images/ChainsText2.gif"><A
HREF="/Info/People/rick/chains/ra/bibliography3.4.html#Palmer94"> [Pal94]</A> <A
HREF="/Info/People/rick/chains/ra/bibliography3.4.html#Palmer93">[PS93] </A> is a
computer language that has algebraic-topological objects such as
<B>vertices</B>, <B>simplexes</B>, <B>complexes</B>, and <B>
chains</B> as it's basic data types.  The power of <IMG
SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> lies in the
ability to write an expression that has an evaluable topological (or
geometric) semantics. This provides the ability to ``program'' at a
much higher semantic level.

The relationship between the <IMG
SRC="/Info/Projects/SimLab/images/ChainsText2.gif"> language and
algebraic-topology is similar to that between the MATLAB language and
matrix algebra, or between CSG<A
HREF="/Info/People/rick/chains/ra/bibliography3.4.html#Requicha81">[RV81]</A> and
geometry.

<ADDRESS> Rick Palmer / rick@cs.cornell.edu </ADDRESS>


